@@ -18,6 +18,7 @@ from equipment.models import (IsolationPointInfo, IsolationPointUserInfo, Thermo |
||
18 | 18 |
from utils.age import stamp2age |
19 | 19 |
from utils.error.errno_utils import IsolationPointStatusCode, ThermometerEquipmentStatusCode |
20 | 20 |
from utils.redis.rscreen import get_screen_info, set_screen_info |
21 |
+from utils.redis.rtemperature import get_old_temperature, set_old_temperature |
|
21 | 22 |
|
22 | 23 |
|
23 | 24 |
@logit |
@@ -213,13 +214,13 @@ def get_screen_data(point=None, point_id=None): |
||
213 | 214 |
macids = eqpts.values_list('macid', flat=True) |
214 | 215 |
|
215 | 216 |
logs = ThermometerMeasureInfo.objects.filter( |
216 |
- point_id=point_id, |
|
217 |
+ point_id=point.point_id, |
|
217 | 218 |
point_measure_ymd=tc.local_string(format='%Y-%m-%d'), |
218 | 219 |
point_measure_window=point.previous_measure_window, |
219 | 220 |
macid__in=macids, |
220 | 221 |
status=True, |
221 | 222 |
).values('macid', 'temperature') |
222 |
- logs = {log.get('macid'): log.get('temperature') for log in logs} |
|
223 |
+ logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs} |
|
223 | 224 |
|
224 | 225 |
infos = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields') |
225 | 226 |
infos = {info.get('pk'): info.get('fields') for info in infos} |
@@ -403,4 +404,6 @@ def mqtt_upload_temperature(payload): |
||
403 | 404 |
measure_info.temperature = temperature |
404 | 405 |
measure_info.save() |
405 | 406 |
|
407 |
+ set_old_temperature(eqpt.point_id, macid, temperature) |
|
408 |
+ |
|
406 | 409 |
set_screen_info(point.point_id, get_screen_data(point)) |
@@ -1,5 +1,6 @@ |
||
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 |
|
3 |
-TWJC_QRCODE_URL_HASH = 'twjc:qrcode:url:hash' # scene:qrcode_url |
|
4 |
-TWJC_POINT_INFO = 'twjc:point:info:%s' # uuid:point_id |
|
5 |
-TWJC_SCREEN_INFO = 'twjc:screen:info:%s' # point_id:screen_info |
|
3 |
+TWJC_QRCODE_URL_HASH = 'twjc:qrcode:url:hash' # HASH, scene:qrcode_url |
|
4 |
+TWJC_OLD_TEMPERATURE_HASH = 'twjc:old:temperature:hash' # HASH, point_id+macid:temperature |
|
5 |
+TWJC_POINT_INFO = 'twjc:point:info:%s' # uuid, point_id |
|
6 |
+TWJC_SCREEN_INFO = 'twjc:screen:info:%s' # point_id, screen_info |
@@ -0,0 +1,12 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+ |
|
3 |
+from utils.redis.connect import r |
|
4 |
+from utils.redis.rkeys import TWJC_OLD_TEMPERATURE_HASH |
|
5 |
+ |
|
6 |
+ |
|
7 |
+def set_old_temperature(point_id, macid, temperature): |
|
8 |
+ r.hset(TWJC_OLD_TEMPERATURE_HASH, f'{point_id}:{macid}', temperature) |
|
9 |
+ |
|
10 |
+ |
|
11 |
+def get_old_temperature(point_id, macid): |
|
12 |
+ return r.hgetfloat(TWJC_OLD_TEMPERATURE_HASH, f'{point_id}:{macid}') |